<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <p>用于完成特定逻辑的语句块，可以由程序进行调用。并且它可以有传入参数也可以有返回参数。</p>
    <h2>定义函数的方式</h2>
    <ul>
        <li>语法糖方式: function 函数名([...形式参数列表]) {...语句组}</li>
        <li>定义变量的方式: var 函数名 = function([...形式参数列表]) {...语句组}</li>
        <li>ES6箭头函数（了解）: let 函数名 = ([...形式参数列表]) => {...语句组}</li>
    </ul>
    <h2>调用函数</h2>
    <p>使用：函数名([...形式参数列表])
    <script>
        
        // 定义函数（没有形式参数）
        function helloWorld() {
            console.log("helloWorld");
        }

        helloWorld();

        function helloWorld(name) {
            console.log("helloWorld:",name);
        }

        helloWorld("奉先");

        var helloWorld2 = function() {
            console.log("helloWorld2");
        }

        helloWorld2();

        var helloWorld2 = function(name) {
            console.log("helloWorld2:",name);
        }

        helloWorld2("罗佰君");

        var helloWorld3 = () => {
            console.log("helloWorld3");
        }

        // 使用var定义的所有变量，都是在window对象上。多次定义同名变量相等与给变量的属性重新赋值。


       
       

       
        helloWorld3();
       
       
    </script>
</body>
</html>